package code.example.base.collection.list;

import code.example.tool.LogFactory;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

/**
 * CopyOnWriteArrayList  -个线程安全的list.
 *
 * 线程安全:读取没有锁。写时候加锁，即写--写斥
 *   适用于读多写少的情况。
 *
 *   写入时会重新构建内部数据，频繁写入，会不断占用内存，引起垃圾回收。
 *
 * */
public class TestCopyOnWriteArrayList {
    public void test(){
        List<Integer> list = new CopyOnWriteArrayList<>();
        int size = list.size();
        for(int i=0;i<100;i++){
            list.add(i);
        }
        LogFactory.getLog().info("list.size:"+size);
    }
    public static void main(String args []){

    }
}
